/*
 * Copyright (c) 2020 hebeiyiliuba.com
 * All rights reserved.
 *
 */
package org.jeecg.modules.third.oapi.alct56.dto.req.shippingnote;

import lombok.Data;

import java.io.Serializable;
import java.util.List;

/**
 * 请求体信息
 *
 * @author duanlikao
 * @created 2021/7/8
 */
@Data
public class BodyDTO implements Serializable {
    //private final long serialVersionUID = -2465140747749709626L;

    private String  shippingNoteNumber ;//	客户运单编号	string	最长200位	必填	用户系统的运单编号， 如果之前存在则为更新
    private String	consignmentDateTime	;//运单创建时间	datetime		必填	用户系统运单的创建时间
    private Integer	businessTypeCode;//	业务类型	Int		必填	固定为10  表示公路整车
    private String  pickupLocation;//	提货地址	string	最长200位	必填	提货详细地址
    private Double  pickupLng;//	提货地点经度
    private Double  pickupLat;//	提货地点纬度
    private Integer	pickupCountrySubdivisionCode;//	提货地区编码	Int	6位	必填	提货地区编码， 参考行政区划代码 详见3.10
    private String  unloadLocation	;//卸货地址	string	最长200位	必填	卸货详细地址
    private Integer	unloadCountrySubdivisionCode;//	卸货地区编码	Int	6位	必填	卸货地区编码，  参考行政区划代码  详见3.10
    private Double	unloadLng;//	卸货地点经度
    private Double	unloadLat;//	卸货地点纬度
    private Double  distance;//	运输距离	double	(18,2)	必填	单位公里
    private String  planPickupTimeStart;//	要求提货最早时间	datetime		必填	格式： yyyy-MM-DDThh:mm:ss
    private String  planPickupTimeEnd;//	要求提货最晚时间	datetime		必填	格式： yyyy-MM-DDThh:mm:ss
    private String  planUnloadTimeStart	;//要求卸货最早时间	datetime		必填	格式： yyyy-MM-DDThh:mm:ss
    private String  planUnloadTimeEnd;//	要求卸货最晚时间	datetime		必填	格式： yyyy-MM-DDThh:mm:ss
    private Integer	cargoTypeClassificationCode;//	货物类型编码	int		必填	10-普货 20-冷冻品 30–危险品
    private String  driverIdentification;//	司机身份证号	string	最长18位	必填	须是已在陆交平台上注册的司机
    private String  vehicleNumber	;//车牌号	string	8或9位	必填	须是已在陆交平台上注册的车辆，且车辆与司机有关联关系
    private Double  totalWeight	;//总重量	double	(18,6)	必填	单位吨，  与总体积二选一
    private Double  totalCube	;//总体积	double	(18,6)	必填	单位立方米，与总重量二选一

    //Added start at 2023-12-25 for 上报税务的运输合同用运单号
    private String transportContractNo;     //合同号
    private Long transportContractPrice;  //合同金额
    private String trailerVehicleNumber; //挂车车牌号
    //Added end

    private PriceInfoDTO  priceInfo ;
    private List <GoodsInfoDTO> goodsInfo;
    private ConsigneeInfoDTO  consigneeInfo ;
    private ConsignorInfoDTO  consignorInfo ;

    public Integer getBusinessTypeCode() {
        return businessTypeCode = 10;
    }

    public void setBusinessTypeCode(Integer businessTypeCode) {
        this.businessTypeCode = businessTypeCode;
    }

    public Integer getCargoTypeClassificationCode() {
        return cargoTypeClassificationCode = 10;
    }

    public void setCargoTypeClassificationCode(Integer cargoTypeClassificationCode) {
        this.cargoTypeClassificationCode = cargoTypeClassificationCode;
    }

}
